package com.assessment.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * 评测周期实体类
 */
@Data
@TableName("t_assessment_period")
public class AssessmentPeriod {
    /**
     * 周期ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 周期名称
     */
    private String name;

    /**
     * 周期描述
     */
    private String description;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 状态：0-未开始，1-进行中，2-已结束
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 是否删除
     */
    @TableLogic
    private Integer deleted;

    /**
     * 开始时间(格式化)
     */
    @TableField(exist = false)
    private String startTimeStr;

    /**
     * 结束时间(格式化)
     */
    @TableField(exist = false)
    private String endTimeStr;

    /**
     * 格式化时间
     */
    public void formatTime() {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        if (startTime != null) {
            this.startTimeStr = startTime.format(formatter);
        } else {
            this.startTimeStr = "未设置";
        }

        if (endTime != null) {
            this.endTimeStr = endTime.format(formatter);
        } else {
            this.endTimeStr = "未设置";
        }
    }
}
